package com.jiyun.om.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 回单表
 * </p>
 *
 * @author zhx
 * @since 2025-02-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("receipt_confirmation")
@Schema(description = "回单表")
public class ReceiptConfirmation implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = " ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @Schema(description = "回单 ID")
    private String confirmationId;

    @Schema(description = "回单状态")
    private String confirmationStatus;

    @Schema(description = "回单份数")
    private Integer confirmationCount;

    @Schema(description = "快递公司")
    private String courierCompany;

    @Schema(description = "寄件时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date shippingTime;

    @Schema(description = "邮寄单号")
    private String trackingNumber;

    @Schema(description = "上传回单")
    private String uploadedReceipt;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "发货时间")
    private Date senderTime;
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "发货时间")
    private Date senderTime1;
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "发货时间")
    private Date senderTime2;

    @Schema(description = "签收单外键")
    private Integer rid;
    @TableField(exist = false)
    @Schema(description = "运单外键")
    private Integer wid;
    @TableField(exist = false)
    @Schema(description = "订单状态")
    private String orderStatus;
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "签收时间")
    private Date receiptTime;
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "签收时间")
    private Date receiptTime1;
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "签收时间")
    private Date receiptTime2;
    @TableField(exist = false)
    @Schema(description = "订单号")
    private String orderId;
    @TableField(exist = false)
    @Schema(description = "发货地址")
    private String shippingAddress;
    @TableField(exist = false)
    @Schema(description = "收货地址")
    private String receivingAddress;
    @TableField(exist = false)
    @Schema(description = "客户")
    private String customer;
    @TableField(exist = false)
    @Schema(description = "总数量")
    private Integer totalQuantity;
    @TableField(exist = false)
    @Schema(description = "签收人")
    private String signerName;


}
